Playback device calibration

ABSTRACT

A first subwoofer may be configured to output multimedia content in synchrony with at least one other playback device and a second subwoofer. The first subwoofer may, based on a received indication of an acoustic characteristic of the at least one other playback device, determine a crossover frequency of (i) the first subwoofer and the second subwoofer and (ii) the at least one other playback device. After determining the crossover frequency, the first subwoofer may output a first tone set and a second tone set in synchrony with the second subwoofer and the at least one other playback device, and after outputting the first tone set and the second tone set, receive, from a controller device, an indication of a selected one of the first tone set or the second tone set. Based on the selected tone set, the first subwoofer may adjust a phase setting of the first subwoofer.

CROSS REFERENCE TO RELATED APPLICATIONS

This disclosure claims the benefit of priority as a continuation under35 U.S.C. § 120 to U.S. application Ser. No. 16/154,357 filed Oct. 8,2018, entitled “Playback Device Calibration”, which is a continuation ofU.S. application Ser. No. 15/342,893, now U.S. Pat. No. 10,097,942,filed Nov. 3, 2016, entitled “Playback Device Calibration”, which is acontinuation of U.S. application Ser. No. 13/466,877, now U.S. Pat. No.9,524,098, filed May 8, 2012, entitled “Methods and Systems forSubwoofer Calibration”, the contents of each of which are herebyincorporated by reference in their entirety for all purposes.

FIELD OF THE DISCLOSURE

This disclosure relates generally to audio devices and, moreparticularly, to methods and systems for subwoofer calibration.

BACKGROUND

Technological advancements have increased the accessibility of musiccontent, as well as other types of media, such as television content,movies, and interactive content. For example, a user can access audio,video, or both audio and video content over the Internet through anonline store, an Internet radio station, an online music service, anonline movie service, and the like, in addition to the more traditionalavenues of accessing audio and video content. Given the high demand forsuch audio and video content, technology used to access and play suchcontent has likewise improved. Local playback systems can be configuredwith one or more playback devices to access and play such audio andvideo content. To deliver the best possible sound, the local playbacksystem allows the listener to adjust various Digital Signal Processing(DSP) settings (e.g., equalization settings) of the playback devices.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example system in which embodiments of the methodsand systems disclosed herein may be implemented;

FIG. 2 is an example implementation of the example zone players of FIG.1;

FIG. 3 shows an illustration of an example subwoofer;

FIG. 4 is an example implementation of the audio processing circuit ofFIG. 2;

FIG. 5 shows an illustration of the example controller;

FIG. 6 is an example implementation of the example controller;

FIG. 7 shows an illustration of an example zone of FIG. 1;

FIG. 8 shows an example interface in an embodiment to allow a user toidentify a preferred tone set;

FIG. 9 is an example table illustrating an example tone set of FIG. 8;

FIG. 10 is an example graph illustrating the example tone set of FIG. 9;

FIG. 11 is an example graph illustrating an example audio spectrum ofthe example tone set of FIG. 9;

FIG. 12 is a flowchart representative of example machine readableinstructions that may be executed to implement the example crossoverfrequency identification;

FIG. 13 shows an example interface in an embodiment to allow a user toidentify a preferred tone set;

FIG. 14 is a flowchart representative of example machine readableinstructions that may be executed to implement the example subwoofercalibration;

FIG. 15 is a block diagram of an example processing platform capable ofexecuting the example machine readable instructions of FIGS. 12 and 14.

In addition, the drawings are for the purpose of illustrating exampleembodiments, but it is understood that the present disclosure is notlimited to the arrangements and instrumentality shown in the drawings.

DETAILED DESCRIPTION I. Overview

Certain embodiments disclosed herein enable configuration of particularequalization settings such as, for example, crossover frequency, phasedifference and/or subwoofer level (e.g., gain) settings. Music listenershave a variety of choices when installing or preparing a playback system(e.g., a home music system) in a listening zone (e.g., room, sharedacoustic environment, etc.). For example, a music listener can adjustthe number of playback devices in the listening zone, the types ofplayback devices included in the listening zone, the placement of theplayback devices within the listening zone and/or the size of theplayback devices used in the listening zone. Additionally, each musiclistener may have personal preferences regarding the level (e.g.,volume) of playback devices in the listening zone.

Each decision in preparing the playback system may have a differenteffect on the overall playback experience by the listener. For example,the number of playback devices used to play the audio enhances theplayback characteristics. For instance, two playback devices in alistening zone may be paired to play two separate sounds in left andright channels.

The audio capabilities of playback devices may enhance the audioexperience by using different playback devices to play differentfrequency ranges. A frequency range is a portion (e.g., subset) of theaudio (e.g., frequency) spectrum output. The placement of the playbackdevices within the listening zone may change the way audio is perceived.For example, two playback devices in the same zone may destructivelyinterfere at overlapping frequencies and cause the sound at theoverlapping frequencies to cancel out. Also, objects in a listening zonerelative to the playback device may affect the audio.

The size of the playback device may impact the quality and/or volumeexperienced at certain frequencies. For example, playback devices of aparticular size may not be able to reproduce low frequency soundswithout distorting the sounds.

The examples disclosed herein enable configuration of subwoofers in aplayback system. The examples disclosed herein provide a subwoofer withequalization settings that adjust based on user preferences. Certainexamples used herein allow a user to identify a preferred tone set(e.g., series of tones) via a graphical user interface. The identifiedtone set is received by a playback device in a playback system and thesubwoofer automatically calibrates equalization parameters based on auser preference of the tone sets. Additional embodiments are describedherein.

Although the following discloses example systems, methods, and apparatusincluding, among other components, firmware and/or software executed onhardware, it should be noted such systems, methods, and/or apparatus aremerely illustrative and should not be considered as limiting. Forexample, it is contemplated any or all of these firmware, hardware,and/or software components could be embodied exclusively in hardware,exclusively in software, exclusively in firmware, or in any combinationof hardware, software, and/or firmware. Accordingly, while the followingdescribes example systems, methods, and/or apparatus, the examplesprovided are not the only way(s) to implement such systems, methods,and/or apparatus.

When any of the appended claims are read to cover a purely softwareand/or firmware implementation, at least one of the elements in at leastone example is hereby expressly defined to include a tangible mediumsuch as a memory, digital versatile disk (DVD), compact disc (CD),Blu-ray, and so on, storing the software and/or firmware.

These embodiments and many additional embodiments are described morebelow. Further, the detailed description is presented largely in termsof illustrative environments, systems, procedures, steps, logic blocks,processing, and other symbolic representations which directly orindirectly resemble the operations of data processing devices coupled tonetworks. These process descriptions and representations are typicallyused by those skilled in the art to most effectively convey thesubstance of their work to others skilled in the art. Numerous specificdetails are set forth to provide a thorough understanding of the presentdisclosure. However, it is understood to those skilled in the artcertain embodiments of the present disclosure may be practiced withoutcertain, specific details. In other instances, well known methods,procedures, components, and circuitry have not been described in detailto avoid unnecessarily obscuring aspects of the embodiments.

Reference herein to “embodiment” means a particular feature, structure,or characteristic described in connection with the embodiment may beincluded in at least one example embodiment of the invention. Theappearances of this phrase in various places in the specification arenot necessarily all referring to the same embodiment, nor are separateor alternative embodiments mutually exclusive of other embodiments. Assuch, the embodiments described herein, explicitly and implicitlyunderstood by one skilled in the art, may be combined with otherembodiments.

The example method includes calibrating equalization settings based onthe user selection of a preferred tone set. The example method includespassing information regarding the subwoofer configurations to a playbacksystem including one or more multimedia playback devices in response toa user selection.

Certain embodiments provide a method to calibrate a subwoofer. Theexample method includes determining a crossover frequency of a playbacksystem, and the playback system includes the subwoofer and at least oneother playback device. The example method includes the subwoofer and theat least one other playback device configured to output a multimediacontent in synchronization. The example method also includes outputtingfrom the subwoofer and the at least one other playback device a seriesof tones near the crossover frequency. The example method also includesprompting a user to select a preferred sound from the series of tonesbased on the level (e.g., gain) of the tone set being played. Also, theexample method includes automatically adjusting a phase of the subwooferin relation to the playback device based on the user selection.

Certain embodiments provide a subwoofer device including a communicationinterface, a speaker driver and a processor. The example processor is toreceive, via the communication interface, a frequency range of aplayback device configured to output multimedia content insynchronization with the subwoofer device. The example processor is todetermine a crossover frequency based on the frequency range. Theexample processor is to output, in synchronization with the playbackdevice, a first tone set and a second tone set. In the example, thefirst tone set and the second tone set are the same tones but the secondtone set is to be played by the playback device in a reversed polarity.The example processor is to receive an indication of a selection of thefirst tone set or the second tone set. The example processor is tocalibrate a phase of the subwoofer device based on the receivedindication.

Certain embodiments provide a computer readable storage medium includinginstructions for execution by a processor. The instructions, whenexecuted, cause the processor to implement a method to identify asubwoofer and at least one other playback device. The subwoofer is to beconfigured to output multimedia content in synchronization with the atleast one other playback device, and the subwoofer and the at least oneother playback device are to be coupled to a playback system. Theexample method includes determining the crossover frequency of thesubwoofer and the at least one other playback device. The example methodincludes generating a first tone set. The example method includesgenerating a second tone set based on the first tone set, wherein theplayback of the second tone set includes a phase offset from the firsttone set of the subwoofer with respect to at least one other playbackdevice. The example method includes receiving input selecting the firsttone set or the second tone set. The example method includes adjusting aphase setting of the subwoofer or the at least one other playback devicebased on the received input.

II. Example Environment

Referring now to the drawings, in which like numerals can refer to likeparts throughout the figures, FIG. 1 shows an example systemconfiguration 100 in which one or more of the methods and/or apparatusdisclosed herein can be practiced or implemented. By way ofillustration, the system configuration 100 represents a home withmultiple zones. Each zone (e.g., listening zone), for example,represents a different room or space, such as an office, bathroom,bedroom, kitchen, dining room, family room, home theater room, utilityor laundry room, and patio. While not shown here, a single zone cancover more than one room or space. One or more of zone players 102-124are shown in each respective zone. A zone player 102-124, also referredto as a playback device, a multimedia unit, speaker, subwoofer, and soon, provides audio, video and/or audiovisual output. A controller 130(e.g., shown in the kitchen for purposes of illustration) providescontrol to the system configuration 100. While multiple controllers canbe used simultaneously in the system configuration 100 such that when achange is made using one controller, all controllers are updated to havethe latest state, only one controller 130 is shown for purposes ofillustration. The system configuration 100 illustrates an example wholehouse audio system, though it is understood that the technologydescribed herein is not limited to its particular place of applicationor to an expansive system like a whole house audio system 100 of FIG. 1.

Referring to the system configuration 100 of FIG. 1, a particular zonecan contain one or more zone players. For example, the family room ofFIG. 1 contains two zone players 106 and 108, while the kitchen is shownwith one zone player 102. Zones can be dynamically configured bypositioning a zone player in a room or space and assigning via thecontroller 130 the zone player to a new or existing zone. As such, zonescan be created, combined with another zone, removed, and given aspecific name (e.g., “Kitchen”), if so programmed. The zone players 102to 124 are coupled directly or indirectly to a data network, such as thedata network 128 shown in FIG. 1. The data network 128 is represented byan octagon in the figure to stand out from other components shown in thefigure. While the data network 128 is shown in a single location, it isunderstood that such a network can be distributed in and around thesystem configuration 100.

Particularly, the data network 128 can be a wired network, a wirelessnetwork, or a combination of both. In some embodiments, one or more ofthe zone players 102-124 are wirelessly coupled to the data network 128based on a proprietary mesh network. In some embodiments, one or more ofthe zone players 102-124 are wirelessly coupled to the data network 128using a non-mesh topology. In some embodiments, one or more of the zoneplayers 102-124 are coupled via a wire to the data network 128 usingEthernet or similar technology. In addition to the one or more zoneplayers 102-124 connecting to the data network 128, the data network 128can further allow access to a wide area network, such as the Internet.

In certain embodiments, the data network 128 can be created byconnecting any of the zone players 102-124, or some other connectingdevice, to a broadband router. Other zone players 102-124 can then beadded wired or wirelessly to the data network 128. For example, a zoneplayer (e.g., any of zone players 102-124) can be added to the systemconfiguration 100 by simply pressing a button on the zone player itself,which enables a connection to be made to the data network 128. Thebroadband router can be connected to an Internet Service Provider (ISP),for example. The broadband router can be used to form another datanetwork within the system configuration 100, which can be used in otherapplications (e.g., web surfing). The data network 128 can also be usedin other applications, if so programmed. Further, in certainembodiments, the data network 128 is the same network used for otherapplications in the household.

In certain embodiments, each zone can play from the same audio source asanother zone or each zone can play from a different audio source. Forexample, someone can be grilling on the patio and listening to jazzmusic via zone player 124, while someone is preparing food in thekitchen and listening to classical music via zone player 102. Further,someone can be in the office listening to the same jazz music via zoneplayer 110 that is playing on the patio via zone player 124. In someembodiments, the jazz music played via zone players 110 and 124 isplayed in synchrony. Synchronizing playback amongst zones allows forsomeone to pass through zones while seamlessly listening to the audio.Further, zones can be put into a “party mode” such that all associatedzones will play audio in synchrony.

In certain embodiments, a zone contains two or more zone players. Forexample, the family room contains two zone players 106 and 108, and thehome theater room contains at least zone players 116, 118, and 120. Azone can be configured to contain as many zone players as desired, andfor example, the home theater room might contain additional zone playersto play audio from a 5.1 channel or greater audio source (e.g., a movieencoded with 5.1 or greater audio channels). If a zone contains two ormore zone players, such as the two zone players 106 and 108 in thefamily room, then the two zone players 106 and 108 can be configured toplay the same audio source in synchrony, or the two zone players 106 and108 can be paired to play two separate sounds in left and rightchannels, for example. In other words, the stereo effects of a sound canbe reproduced or enhanced through the two zone players 106 and 108, onefor the left sound and the other for the right sound. In certainembodiments, paired zone players can play audio in synchrony with otherzone players.

In certain embodiments, three or more zone players can be configured toplay various channels of audio that is encoded with three channels ormore sound. For example, the home theater room shows zone players 116,118, and 120. If the sound is encoded as 2.1 channel audio, then thezone player 116 can be configured to play left channel audio, the zoneplayer 118 can be configured to play right channel audio, and the zoneplayer 120 can be configured to play bass frequencies. Otherconfigurations are possible and depend on the number of zone players andthe type of audio. Further, a particular zone can be configured to playa 5.1 channel audio in one instance, such as when playing audio from amovie, and then dynamically switch to play stereo, such as when playingaudio from a two channel source.

In certain embodiments, two or more zone players can be sonicallyconsolidated to form a single, consolidated zone player. A consolidatedzone player (though made up of multiple, separate devices) can beconfigured to process and reproduce sound differently than anunconsolidated zone player or zone players that are paired, because aconsolidated zone player will have additional speaker drivers from whichsound can be passed. The consolidated zone player can further be pairedwith a single zone player or yet another consolidated zone player. Eachplayback device of a consolidated playback device is preferably set in aconsolidated mode.

According to some embodiments, one can continue to do any of: group,consolidate, and pair zone players, for example, until a desiredconfiguration is complete. The actions of grouping, consolidation, andpairing are preferably performed through a control interface, such asusing controller 130, and not by physically connecting and re-connectingspeaker wire, for example, to individual, discrete speakers to createdifferent configurations. As such, certain embodiments described hereinprovide a more flexible and dynamic platform through which soundreproduction can be offered to the end-user.

Sources of audio content to be played by zone players 102-124 arenumerous. Music from a personal library stored on a computer ornetworked-attached storage (NAS) can be accessed via the data network128 and played. Internet radio stations, shows, and podcasts can beaccessed via the data network 128. Music services that let a user streamand download music and audio content can be accessed via the datanetwork 128. Audio content can be accessed via cloud-based storage, forexample. Further, music can be obtained from traditional sources, suchas a turntable or CD player, via a line-in connection to a zone player,for example. Audio content can also be accessed through AirPlay™wireless technology by Apple, Inc., for example. Audio content receivedfrom one or more sources can be shared amongst the zone players 102 to124 via the data network 128 and/or the controller 130. Theabove-disclosed sources of audio content are referred to herein asnetwork-based audio information sources. However, network-based audioinformation sources are not limited thereto.

The example home theater zone players 116, 118, 120 are coupled to anaudio information source such as a television 132. In some examples, thetelevision 132 is used as a source of audio for the home theater zoneplayers 116, 118, 120, while in other examples audio information fromthe television 132 can be shared with any of the zone players 102-124 inthe audio system 100.

III. Example Playback Device

Referring now to FIG. 2, there is shown an example functional blockdiagram of a zone player 200 in accordance with an embodiment. The zoneplayer 200 of FIG. 2 includes a network interface 202, a processor 208,a memory 210, an audio processing component 212, a module 214, an audioamplifier 216, and a speaker unit 218 coupled to the audio amplifier216. Other types of zone players may not include speaker unit 218 or theaudio amplifier 216. Other types of zone players may include a sensormodule 220 such as, for example, an accelerometer. Further, it iscontemplated that the zone player 200 can be integrated into anothercomponent. For example, the zone player 200 could be constructed as partof a lamp for indoor or outdoor use. The example zone player 200 couldbe integrated into a television, for example.

In the illustrated example of FIG. 2, the network interface 202facilitates a data flow between zone players and other devices on a datanetwork (e.g., the data network 128 of FIG. 1) and the zone player 200.In some embodiments, the network interface 202 can manage the assemblingof an audio source or file into smaller packets that are to betransmitted over the data network or reassembles received packets intothe original source or file. In some embodiments, the network interface202 can further handle the address part of each packet so that it getsto the right destination or intercepts packets destined for the zoneplayer 200. Accordingly, in certain embodiments, each of the packetsincludes an Internet Protocol (IP)-based source address as well as anIP-based destination address.

In some embodiments, the network interface 202 can include one or bothof a wireless interface 204 and a wired interface 206. The wirelessinterface 204, also referred to as an RF interface, provides networkinterface functions for the zone player 200 to wirelessly communicatewith other devices (e.g., other zone player(s), speaker(s), receiver(s),component(s) associated with the data network 128, and so on) inaccordance with a communication protocol (e.g., any of the wirelessstandards IEEE 802.11a, 802.11g, 802.11n, or 802.15). To receivewireless signals and to provide the wires signals to the wirelessinterface 204 and to transmit wireless signals, the zone player 200 ofFIG. 2 includes one or more antennas. The wired interface 206 providesnetwork interface functions for the zone player 200 to communicate overa wire with other devices in accordance with a communication protocol(e.g., IEEE 802.3). In some embodiments, a zone player includes both ofthe interfaces 204 and 206. In some embodiments, a zone player 200includes only the wireless interface 204 or the wired interface 206.

In the illustrated example of FIG. 2, the processor 208 is aclock-driven electronic device that is configured to process input dataaccording to instructions stored in memory 210. The memory 210 is a datastorage that can be loaded with one or more software modules 214, whichcan be executed by the processor 208 to achieve certain tasks. In theillustrated example, the memory 210 is a tangible machine readablemedium storing instructions that can be executed by the processor 208.In some examples, a task might be for the zone player 200 to retrieveaudio data from another zone player or a device on a network. In someexamples, a task might be for the zone player 200 to send audio data toanother zone player or device on a network. In some examples, a taskmight be for the zone player 200 to synchronize playback of audio withone or more additional zone players. In some examples, a task might beto pair the zone player 200 with one or more zone players to create amulti-channel audio environment (e.g., the zone players 116-120 fromFIG. 1). Additional or alternative tasks can be achieved via the one ormore software modules 214 and the processor 208.

In the illustrated example of FIG. 2, the audio processing component 212can include one or more digital-to-analog converters (DAC), an audiopreprocessing component, an audio enhancement component or a digitalsignal processor, and so on. In some examples, the audio that isretrieved via the network interface 202 is processed and/orintentionally altered by the audio processing component 212 (e.g.,filtered, polarity switched, level adjusted, etc.). Further, audioprocessing component 212 can produce analog audio signals. The processedanalog audio signals are then provided to the audio amplifier 216 forplay back through speakers 218. In addition, the audio processingcomponent 212 can include necessary circuitry to process analog ordigital signals as inputs to play from zone player 200, send to anotherzone player on a network, or both play and send to another zone playeron the network. An example input includes a line-in connection (e.g., anauto-detecting 3.5 mm audio line-in connection).

The audio amplifier 216 is a device that amplifies audio signals to alevel for driving one or more speakers 218. The one or more speakers 218can include an individual transducer (e.g., a “driver”) or a completespeaker system that includes an enclosure including one or more drivers.A particular driver can be a subwoofer (for low frequencies), amid-range driver (middle frequencies), and a tweeter (high frequencies),for example. An enclosure can be sealed or ported, for example.

In certain examples, the zone player 200 includes the audio amplifier216 and speakers 218. In certain examples, the zone player 200 includesthe example audio amplifier 216 to power a set of detached speakers. Thespeakers can include, for example, any type of loudspeaker. Such anexample zone player 200 can communicate a signal corresponding to audiocontent to the detached speakers via wired and/or wireless channels. Incertain examples, the example zone player 200 does not include anamplifier, but allows a receiver, or another audio and/or video devicewith built-in amplification, to connect to a data network 128 of FIG. 1and to play audio received over the data network 128 via the receiverand a set of detached speakers. The detached speakers can receive audiocontent via a wired coupling or a wireless communication channel betweenthe detached speakers and, for example, the example zone player 200and/or the receiver.

Returning to FIG. 2, in certain examples, the example zone player 200includes sensor module(s) 220. The example sensor module 220 of FIG. 2includes an accelerometer to detect how the zone player 200 is oriented.In certain examples, the accelerometer device is a three axesaccelerometer. Based on the orientation of the zone player 200, thesound output from the zone player 200 or another zone player(s), whosesound may depend on the orientation of the zone player 200, may beshaped.

In certain examples, other types of sensors may be employed to detectposition and orientation of the zone player 200. For example, a sensormay be used to determine speaker position relative to any of: a floor,wall, and ceiling. This information may be used to, for example,determine the speaker height relative to a listener in a room or thespeaker distance from a wall or corner, and based on that information,an audio characteristic of one or more playback devices may bedetermined. For example, an audio characteristic of one playback devicemight be determined, or an audio characteristic of any of a number ofdifferent playback devices within a local area may be determined tobetter optimize the sound environment based on the orientation.

Example zone players include a “Sonos® S5,” “Sonos SUB,” “Sonos PLAY:5,”“Sonos PLAY:3,” “ZonePlayer 120,” and “ZonePlayer 90,” which are offeredby Sonos, Inc. of Santa Barbara, Calif. Any other past, present, and/orfuture zone players can additionally or alternatively be used toimplement the zone players of example embodiments disclosed herein. Azone player can also be referred to herein as a playback device, and azone player is not limited to the particular examples illustratedherein. For example, a zone player can include a wired or wirelessheadphone. In other examples, a zone player might include a subwoofer.In yet other examples, a zone player can include a sound bar. In anexample, a zone player can include or interact with a docking stationfor an Apple iPod™ or similar device. In some examples, a zone playercan relay one or more signals received from, for example, a first zoneplayer to another playback device. In some examples, a zone player canreceive a first signal and generate an output corresponding to the firstsignal and, simultaneously or separately, can receive a second signaland transmit or relay the second signal to another zone player(s),speaker(s), receiver(s), and so on. Thus, an example zone playerdescribed herein can act as a playback device and, at the same time,operate as a hub in a network of zone players. In such instances, mediacontent corresponding to the first signal can be different from themedia content corresponding to the second signal.

IV. Example Subwoofer Playback Device

FIG. 3 shows an example zone player 350 (e.g., zone player 200 of FIG.2) combined with (e.g., bonded to, paired with) subwoofer 300. Subwoofer300 is also a playback device like zone player 350, but designed toreproduce low frequency sound. Subwoofer 300 may be added to the zone orarea of zone player 350 to play the lower frequency components whilezone player 350 plays the midrange to higher frequency components.Alternatively, zone player 350 may be moved to or added to the zone orarea that contains subwoofer 300. Subwoofer 300 may be paired to operatewith zone player 350 via a wired or wireless network, such as describedabove. The process of adding subwoofer 300 to a zone and/or pairing itto a player like zone player 350 can be performed by a set upwizard-like software program that guides the user through the set upprocess. For example, the subwoofer 300 may be plugged into a standardwall outlet for electrical power and then joined to zone player 350wirelessly or wired using a wireless controller, such as describedabove. A similar process may be performed to add (e.g., bond, pair) zoneplayer 350 to subwoofer 300.

In some embodiments, once subwoofer 300 is added by the user to thesystem, zone player 350 and subwoofer 300 may each store an updatedstate variable that indicates the two have been set up to play audiotogether. For example, zone player 350 knows that it is paired withsubwoofer 300 based on its stored state variable. Similarly, subwoofer300 knows that it is paired with zone player 350 based on its storedstate variable. In some embodiments, only zone player 350 contains anupdated state variable that identifies it has been paired with subwoofer300, and therefore zone player 350 may pass certain kinds of informationto subwoofer 300 over the network connection (e.g., data network 128).

In some embodiments, zone player 350 may be configured to send the lowerfrequencies of the audio track to subwoofer 300 over the networkconnection. In some embodiments, the opposite may be true where it issubwoofer 300 that sends the midrange and higher frequencies of theaudio track to zone player 350. In some embodiments, the entire audiospectrum is received at both zone player 350 and subwoofer 300, and eachdevice (e.g., zone player 350 and subwoofer 300) filters thefull-frequency signal according to its playback capabilities and/orsettings.

As described above in connection with the zone player 200 from FIG. 2,an audio track received by the zone player 200 to playback is processedby the example audio processing circuit 212. In the illustrated exampleof FIG. 4, the example audio processing circuit 212 includes a crossovernetwork 420, a phase controller 430 and a level controller 440.

Most individual speakers are unable to cover the entire audio spectrumfrom low frequency to high frequency without distortion or varyingvolume levels. To address this deficiency in sound reproduction, manyplayback systems use a combination of speakers (e.g., subwoofer,tweeter, etc.) designed to output different frequency ranges. Theillustrated example crossover network 420 receives an audio track anddirects separate frequency ranges of the audio track to playback by azone player 200. For example, the example crossover 420 directs the lowfrequencies of the audio track to a subwoofer, the high frequencies to atweeter and/or the mid-range frequencies to a mid-range speaker. In someexamples, the crossover network 420 attenuates received frequenciesoutside the frequency range of the speaker. Thus, each speaker (e.g.,driver) type receives a frequency range it is optimized to output.

However, the frequencies output by the speaker may contain some residualfrequencies outside the frequency range of the speaker due to a “rollingoff” effect of the filters used. For example, the filter used toseparate the frequency ranges may allow frequencies within the range topass through, but the attenuated frequencies outside the frequency rangemay also be output while the frequency transitions down. The overlappingfrequencies may interfere with each other. For example, the lowfrequencies from the subwoofer and the mid-range frequencies from themid-range speakers may overlap with each other at or around 80 Hertz(Hz). Depending on the placement of the playback devices (e.g.,subwoofer and mid-range speakers) relative to each other and to thelistener, the overlapping frequencies may arrive at the listener's earsat different times. When the sound arrives at different times, theoverlapping frequencies may destructively interfere and result ininconsistencies in the sound received by the listener such as, forexample, varying volume levels over the audio spectrum (e.g., cancelingeach other out).

The example phase controller 430 of the illustrated example audioprocessing circuit 212 of FIG. 4 enables adjusting the arrival time ofthe audio from a playback device such as, for example, a subwoofer. Forexample, the subwoofer may be in synchronization (e.g., 0 degree phase)relative to the mid-range speakers or may be 180 degrees out of phaserelative to the mid-range speakers. Alternate phase differences are alsopossible. In some examples, the phase controller 430 operates byreversing a polarity of the subwoofer. In some examples, the phasecontroller 430 operates by reversing the polarity of the mid-rangespeakers. In some examples, a variable control phase controller 430allows continuous adjustment of the phase difference of the subwooferbetween 0 degrees in phase and 180 degrees out of phase with respect to,for example, the mid-range speakers.

The example level controller 440 of the example audio processing circuit212 of FIG. 4 enables adjustment of the level setting (e.g., volume) ofthe playback device (e.g., the example zone player 200). As a result,the output amplitude from the speakers may match over the differentfrequency ranges. For example, the subwoofer level setting may beadjusted to match the level setting of the mid-range speaker, forexample, at or around the crossover frequency. By doing so, an even(e.g., consistent) sound may be experienced over the entire audiospectrum from the playback system. In some examples, a music listenermay prefer more bass (e.g., low frequencies) and the example levelcontroller 440 may adjust, for example, the subwoofer level setting sothe low frequency volumes (e.g., levels, output amplitudes) are louderthan the higher frequency volumes.

Rather than requiring a user to understand each subwoofer equalizationsetting and how adjusting one setting (e.g., crossover frequency) couldimpact the overall sound of the playback system, calibrating subwooferequalization settings to improve or maximize the sound production of aplayback system can be facilitated by automatically calibrating thesubwoofer configurations based on a user selecting a user-preferred toneset from a series of tones (e.g., frequencies) generated by thesubwoofer and at least one other zone player based on the particularaudio characteristics of the playback system and listening zone.

V. Example Controller

FIG. 5 shows an example illustration of a wireless controller 500 in adocking station 502. The controller 500 can correspond to thecontrolling device 130 of FIG. 1. The controller 500 is provided with atouch screen 504 that allows a user to interact with the controller 500,for example, to retrieve and navigate a playlist of audio items, controloperations of one or more zone players, and provide overall control ofthe system configuration 100. In certain embodiments, any number ofcontrollers can be used to control the system configuration 100. Incertain embodiments, there can be a limit on the number of controllersthat can control the system configuration 100. The controllers might bewireless like wireless controller 500 or wired to the data network 128.Furthermore, an application running on any network-enabled portabledevices, such as an iPhone™, iPad™, Android™ powered phone, or any othersmart phone or network-enabled device can be used as a controller byconnecting to the data network 128. An application running on a laptopor desktop PC or Mac can also be used as a controller. Examplecontrollers include a “Sonos® Controller 200” “Sonos® Controller foriPhone,” “Sonos® Controller for iPad,” “Sonos® Controller for Android,“Sonos® Controller for Mac or PC,” which are offered by Sonos, Inc. ofSanta Barbara, Calif. The flexibility of such an application and itsability to be ported to a new type of portable device is advantageous.

Referring now to FIG. 6, there is shown an example controller 600, whichcan correspond to the controlling device 130 in FIG. 1. The controller600 can be used to facilitate the control of multi-media applications,automation and others in a system. In particular, the controller 600 isconfigured to facilitate a selection of a plurality of audio sourcesavailable on the network and enable control of one or more zone players(e.g., the zone players 102-124 in FIG. 1) through a wireless networkinterface 608. According to one embodiment, the wireless communicationsis based on an industry standard (e.g., infrared, radio, wirelessstandards IEEE 802.11a, 802.11b 802.11g, 802.11n, or 802.15). Further,when a particular audio is being accessed via the controller 600 orbeing played via a zone player, a picture (e.g., album art) or any otherdata, associated with the audio source can be transmitted from a zoneplayer or other electronic device to the controller 600 for display.

The controller 600 is provided with a screen 602 and an input interface614 that allows a user to interact with the controller 600, for example,to navigate a playlist of many multimedia items and to controloperations of one or more zone players. The screen 602 on the controller600 can be an LCD screen, for example. The screen 600 communicates withand is commanded by a screen driver 604 that is controlled by amicrocontroller (e.g., a processor) 606. The memory 610 can be loadedwith one or more application modules 612 that can be executed by themicrocontroller 606 with or without a user input via the user interface614 to achieve certain tasks. In some embodiments, an application module612 is configured to facilitate grouping a number of selected zoneplayers into a zone group and synchronizing the zone players for audioplay back. In some embodiments, an application module 612 is configuredto control the audio sounds (e.g., volume) of the zone players in a zonegroup. In operation, when the microcontroller 606 executes one or moreof the application modules 612, the screen driver 604 generates controlsignals to drive the screen 602 to display an application specific userinterface accordingly.

The controller 600 includes a network interface 608 that facilitateswireless communication with a zone player. In some embodiments, thecommands such as volume control and audio playback synchronization aresent via the network interface 608. In some embodiments, a saved zonegroup configuration is transmitted between a zone player and acontroller via the network interface 608. The controller 600 can controlone or more zone players, such as 102-124 of FIG. 1 and zone player 300of FIG. 3. There can be more than one controller for a particularsystem. Further, a controller can be integrated into a zone player.

It should be noted that other network-enabled devices such as aniPhone®, iPad® or any other smart phone or network-enabled device (e.g.,a networked computer such as a PC or Mac®) can also be used as acontroller to interact or control zone players in a particularenvironment. In some embodiments, a software application or upgrade canbe downloaded onto a network enabled device to perform the functionsdescribed herein.

In certain embodiments, a user can create a zone group including atleast two zone players from the controller 600. The zone players in thezone group can play audio in a synchronized fashion, such that all ofthe zone players in the zone group play back an identical audio sourceor a list of identical audio sources in a synchronized manner such thatno (or substantially no) audible delays or hiccups could be heard.Similarly, in some embodiments, when a user increases the audio volumeof the group from the controller 600, the signals or data of increasingthe audio volume for the group are sent to one of the zone players andcauses other zone players in the group to be increased together involume.

A user via the controller 600 can group zone players into a zone groupby activating a “Link Zones” or “Add Zone” soft button, or de-grouping azone group by activating an “Unlink Zones” or “Drop Zone” button. Forexample, one mechanism for ‘joining’ zone players together for audioplay back is to link a number of zone players together to form a group.To link a number of zone players together, a user can manually link eachzone player or room one after the other. For example, assume that thereis a multi-zone system that includes the following zones: Bathroom,Bedroom, Den, Dining Room, Family Room, and Foyer.

In certain embodiments, a user can link any number of the six zoneplayers, for example, by starting with a single zone and then manuallylinking each zone to that zone.

In certain embodiments, a set of zones can be dynamically linkedtogether using a command to create a zone scene or theme (subsequent tofirst creating the zone scene). For instance, a “Morning” zone scenecommand can link the Bedroom, Office, and Kitchen zones together in oneaction. Without this single command, the user would need to manually andindividually link each zone. The single command might include a mouseclick, a double mouse click, a button press, a gesture, or some otherprogrammed action. Other kinds of zone scenes can be programmed.

In certain embodiments, a zone scene can be triggered based on time(e.g., an alarm clock function). For instance, a zone scene can be setto apply at 8:00 am. The system can link appropriate zonesautomatically, set specific music to play, and then stop the music aftera defined duration. Although any particular zone can be triggered to an“On” or “Off” state based on time, for example, a zone scene enables anyzone(s) linked to the scene to play a predefined audio (e.g., afavorable song, a predefined playlist) at a specific time and/or for aspecific duration. If, for any reason, the scheduled music failed to beplayed (e.g., an empty playlist, no connection to a share, failedUniversal Plug and Play (UPnP), no Internet connection for an InternetRadio station, and so on), a backup buzzer can be programmed to sound.The buzzer can include a sound file that is stored in a zone player, forexample.

VI. Subwoofer Auto-Calibration

FIG. 7 is an illustrated example of the home theater room from FIG. 1,where three or more zone players (e.g., zone players 116, 118 and 120)can be configured to play various channels of audio that is encoded withthree channels or more sound. If the sound is encoded as 2.1 channelaudio in the paired playback system, then the zone player 116 can beconfigured to play left channel audio, the zone player 118 can beconfigured to play right channel audio, and the zone player 120 can beconfigured to play bass frequencies. In the illustrated example, thebass frequencies may also be played by the example subwoofer 300 of FIG.3. The user controls the playback system via the example controller 130.Audio output from the example zone players 116-120 is received by theuser. Additionally, the example controller 130 communicates with thezone players 116-120 via a network interface.

FIG. 8 depicts an example controller user interface 800 to calibrate asubwoofer (e.g., the example subwoofer 120 of FIG. 6). Via thecontroller interface 800, a user may select a tone set (e.g., series oftest frequencies/tones) that sounds louder. By identifying the loudersounding tone set, the music listener unknowingly, or with very littleeffort, identifies the preferred phase difference between the zoneplayer 120 relative to the zone players 116 and 118. For example, a toneset includes a series of tones included in the audio spectrum output bythe subwoofer 120 and by the mid-range drivers or speakers in the zoneplayers 116 and 118.

In the illustrated example of FIG. 8, the controller user interface 800includes control buttons 860, 866, 868 and 870, and indicators 862 and864. In some examples, control buttons 860, 868 and 870 may be locatedon the playback device (e.g., zone players 102-124). For example, aphysical button may be located on the playback device. In some examples,a user interface such as, for example, the controller user interface 800is located on the playback device (e.g., zone players 102-124). Theexample control button 860 is used to control the currently playingsound. For example, when a tone set is playing from the paired playbacksystem (e.g., zone players 116-120), control button 860 displays a“Pause” icon. Selection of the example control button 860 while thePause icon is displayed on the controller interface 800 pauses the toneset playback and changes the example control button 860 to display a“Play” icon. In the illustrated example, the user selects between twotone sets. The example indicators 862 and 864 identify which tone set iscurrently playing. For example, while test set A is playing, exampleindicator 862 may be highlighted. Alternatively, other indicators toidentify which tone set is playing are also possible (e.g., exampleindicators 862 and 864 flash or blink while a test sound is playing).

In the illustrated example, the user selects between test set A and testset B. The example test set A includes eight different fundamental tones(e.g., frequencies) played in a series. The example table of FIG. 9 isan example tone set including eight different tones (e.g., fundamentalfrequencies). During playback, test set A may play the series of tonesfrom highest frequency to lowest frequency (e.g., 73.416 Hz down to36.708 Hz). In other examples, playback of test set A may includeplaying the series of eight tones from lowest frequency to highestfrequency (e.g., 36.708 Hz up to 73.416 Hz). In other examples, test setA may include playback of a subset of tones selected from a series oftones. In other examples, test set A may include playback of a differentnumber of tones (e.g., playback of one frequency, ten frequencies,etc.). FIG. 10 is an example graph illustrating the example series ofeight different tones from the example table of FIG. 9. For example,point 1002 on the example graph corresponds to the tone 902 (55.000 Hz)in the example table of FIG. 9.

Playback of the example eight tones of FIG. 9 represents only a subsetof the full audio spectrum. For example, if zone player(s) 116 and/or118 include only tweeter drivers (e.g., output only high frequencies),then reproduction of the tones in test set A from the zone player(s) 116and/or 118 may sound less than optimal (e.g., distorted). To cover theentire audio spectrum, playback of test set A includes the eightfundamental frequencies (e.g., the eight different tones of FIG. 9) andthe corresponding harmonic tones. A harmonic tone of a fundamentalfrequency is an integer multiple of the fundamental frequency. Forexample, the harmonic tones of tone 902 from FIG. 9 (55.000 Hz) include:110.000 Hz, 165.000 Hz, 220.000 Hz, etc. As a result, playback of testset A covers a frequency range above and below the crossover frequency.Via the example crossover network 420 of FIG. 4, the low frequencies(e.g., below the crossover frequency) may be directed to a subwoofer(e.g., subwoofer 120), and the high frequencies (e.g., above thecrossover frequency) may be directed to a mid-range and/or full-rangespeaker (e.g., zone player(s) 116 and/or 118). FIG. 11 is an examplesnapshot illustrating the audio spectrum of the tones of FIG. 9 and thecorresponding harmonic tones (e.g., the audio input to play).

As described above in connection with the example controller userinterface 800 of FIG. 8, the user selects the louder sounding tone setbetween two tone sets (e.g., test set A and test set B). During playbackof test set A, the subwoofer 120 outputs the series of tones insynchronization (e.g., 0 degrees offset) relative to the output of theseries of tones by zone players 116 and/or 118. In the illustratedexample, test set B includes the same series of fundamental frequenciesand harmonic tones as test set A, but is played by either the subwooferor the mid-range speakers with a reversed polarity. For example, duringplayback of test set B, the example subwoofer 120 outputs the sameseries of tones (e.g., the eight fundamental frequencies from theexample table of FIG. 9 and the corresponding harmonic tones) with phase180 degrees offset relative to the output of the series of tones fromthe example zone players 116 and/or 118. In some examples, when thephase difference is at a first phase difference (e.g., 0 degreesoffset), the overlapping frequencies output by the subwoofer 120 and themid-range speakers of zone players 116 and 118 destructively interfere(e.g., cancel) and the overlapping frequencies are not heard as well bythe user (e.g., reduced in volume). In some examples, when the phasedifference is at a second phase difference (e.g., 180 degrees offset)relative to the zone players 116 and 118, the overlapping frequenciesconstructively interfere and the sound level at those frequencies islouder. The example subwoofer 120 is able to set the phase difference inthe subwoofer configuration based on the tone set (e.g., test set A ortest set B) selected by the user.

In some examples, test sets A and B output a series of tones at or nearthe crossover frequency. A flowchart representative of example machinereadable instructions to identify a crossover frequency of a pairedplayback system (e.g., zone players 116, 118 and 120) is shown in FIG.12. In this example, the machine readable instructions comprise aprogram for execution by a processor such as the processor 1512 shown inthe example computer 1500 discussed below in connection with FIG. 15.The program may be embodied in software stored on a tangible computerreadable medium such as a CD-ROM, a floppy disk, a hard drive, a digitalversatile disk (DVD), a Blu-ray disk, or a memory associated with theprocessor 1512, but the entire program and/or parts thereof couldalternatively be executed by a device other than the processor 1512and/or embodied in firmware or dedicated hardware. Further, although theexample program is described with reference to the flowchart illustratedin FIG. 12, many other methods of implementing the example crossoverfrequency identification may be used. For example, the order ofexecution of the blocks may be changed, and/or some of the blocksdescribed may be changed, eliminated, or combined.

The example program 1200 of FIG. 12 begins by identifying whether thezone player(s) in the paired playback system include internal speakers(block 1205). When the zone players (e.g., zone players 116 and/or 118)include internal speakers, then the example program 1200 automaticallyadjusts the crossover frequency of the subwoofer configuration (block1220). For example, the example program 1200 determines the subwoofer120 in the paired playback system is bonded (e.g., paired) with a zoneplayer including the example audio amplifier 216 and example speakers218 of FIG. 2. In the example of FIG. 12, the example program 1200 isable to identify the acoustic characteristics (e.g., frequency response,3 dB rolloff, Q, SPL at 1 watt, etc.) of the zone players 116 and/or118. For example, the example program 1200 receives the acousticcharacteristics (or parameters) from the respective zone players.Alternatively and/or additionally, the example program 1200 searches adatabase of known acoustic characteristics either locally stored (e.g.,within the playback system of system configuration 100 of FIG. 1) orstored externally of the playback system through a network (e.g.,network 128).

When the zone players 116 and 118 bonded with (e.g., paired to) thesubwoofer 120 do not include internal speakers, in the illustratedexample of FIG. 12, the example program 1200 determines whether theexternal speakers are recognized (block 1210). For example, the externalspeakers are registered in a database and the crossover frequency can befound based on the known acoustic characteristics (e.g., frequencyresponse, etc.). When the external speakers are recognized, thecrossover frequency of the zone players in the paired playback system isautomatically identified by the program 1200 (block 1220).

In the illustrated example of FIG. 12, when the external speakers arenot recognized by the example program 1200, then the user is prompted toidentify the external speaker size via a controller user interface suchas, for example, the controller interface 800 of FIG. 8 (block 1225).For example, the user is prompted to identify whether the externalspeakers are “Small,” “Medium,” or “Large.” In some examples, iconsrepresenting the speaker sizes may be displayed via the controller userinterface 800 to the user. In some examples, once the external speakersize is known, then a predetermined crossover frequency is set. Forexample, when the external speakers are Medium sized, then the crossoverfrequency is set as 80 Hz. Alternate predetermined crossover frequenciesare also possible. The crossover frequency is then stored with thesubwoofer configuration.

Returning to the example controller interface 800 of FIG. 8, duringplayback of a tone set (e.g., tone set A or tone set B), the subwoofer120 outputs the subset of the tone set A audio spectrum (e.g.,fundamental frequencies and harmonic tones) at and below the crossoverfrequency and the remaining playback devices in the paired playbacksystem (e.g., zone player 116 and/or 118) outputs the subset of the toneset A audio spectrum at and above the crossover frequency based on thecrossover frequency of the paired playback system recalled from thesubwoofer configuration. In the illustrated example, the tone setcontinuously alternate playing tone set A and tone set B until the usermakes a selection via the example controller interface 800. Depending onwhich tone set the user identified as sounding louder, the respectivephase difference is stored in the subwoofer configuration. Additionally,when the user is unable to identify which tone set sounds louder, theuser may select “No Difference” (e.g., control button 866) and a defaultphase difference is stored in the subwoofer configuration. Thus, thephase difference and crossover frequency are calibrated by simply askingthe user which of two tone sets (e.g., test set A or test set B) soundslouder to the user.

FIG. 13 illustrates an example controller user interface 1300facilitating subwoofer level configuration. In the illustrated example,the subwoofer level may be adjusted to match the output amplitude of thezone players 116 and 118, and to correct any response irregularities dueto the environment. For example, zone players located near solid wallsincrease the level of bass heard by the user. As a result, an unbalancedsubwoofer level may overwhelm the output amplitude of the otherfrequency ranges (e.g., mid-range frequencies). In the examplecontroller user interface 1300 of FIG. 13, the user is asked to identifya user-preferred tone set via the example controller user interface1300.

In the example controller user interface 1300, the control button 1360toggles between Play and Pause similar to the example control button 860of FIG. 8. In the illustrated example, the soft buttons 1372-1384 allowthe user to adjust the subwoofer level (e.g., gain) of the subwoofer120. The tone set is generated (e.g., calculated) by the subwoofer 120based on the identified audio characteristics (e.g., crossoverfrequency, phase difference) of the paired zone player(s) (e.g., pairedplayback system) and recalled from the subwoofer configuration. When thetone set is playing, a series of tones at or around the crossoverfrequency is output from the zone players of the paired playback system(e.g., the subwoofer 120 and the zone players 116 and 118). The user maythen adjust the subwoofer level based on a level preference or whatsounds better to the user. For example, the user may prefer a louderbass volume while listening to an audio track and increase the subwooferlevel by selecting the example soft button 1382. In some examples, thelevel at the mid-point (e.g., the example soft button 1378) is based onthe stored crossover frequency and phase difference. In some examples,the mid-point (e.g., the example soft button 1378) is a predeterminedvalue (e.g., +30 dB). In some examples, the soft buttons 1372-1384correspond to adjusting the subwoofer level by increments (e.g., 3 dBincrements). For example, selecting the example soft button 1382 mayincrease the subwoofer level by +6 dB. However, alternate sound levelincrements are also possible. In some examples, adjusting the subwooferlevel depends on the speakers the subwoofer 120 is paired with. Forexample, the mid-point level of the subwoofer 120 may vary based onwhether the speakers (e.g., zone players 116 and/or 118) are Small,Medium or Large. Alternatively and/or additionally, the sound levelincrements may also vary based on the paired speakers. In some examples,a database may be searched to determine if alternate level incrementsand/or mid-point levels are available. For example, the database may bestored locally in the subwoofer, locally within the playback system,and/or externally and accessed via the Internet. In the illustratedexample of FIG. 13, when the user is finished making the subwoofer leveladjustments, the user selects Next and the test sound stops playing.Additionally, the adjusted subwoofer level is stored in the subwooferconfiguration.

In some examples, the subwoofer configuration, including the phasedifference and subwoofer level setting, may be determined by asking theuser to identify a preferred tone set (e.g., series of tones) output bythe zone players in the paired playback system via a controllerinterface, such as, for example, the controller user interface 800 ofFIG. 8. In some examples, the crossover frequency is determined andstored in the subwoofer configuration. For example, the example program1200 of FIG. 12 is used to determine the crossover frequency. Thesubwoofer 120 then outputs a series of tones at a frequency at andaround (e.g., above and/or below) the crossover frequency. In theillustrated example, the user is then asked to adjust the volume (e.g.,as described above in connection with FIG. 13) until the series of tonesis just (e.g., barely) audible. This step of playing a tone set via onlythe subwoofer 120 is then repeated at other frequencies above and/orbelow the crossover frequency, and the user is prompted to adjust thevolume until the tones are just (e.g., barely) audible. Once the userhas identified a plurality of subwoofer volume levels at varyingfrequencies, the user is then prompted to identify a plurality of volumelevels just (e.g., barely) audible when output from the zone players 116and 118. In the illustrated example, the plurality of volume settings ofthe subwoofer 120 and zone players 116 and 118 at and around (e.g.,above and/or below) the crossover frequency enables identifying therelative response of the subwoofer 120 and zone players 116 and 118 inthe zone (e.g., home theater zone) and then automatically calibratingthe subwoofer equalization settings based on the plurality of volumelevels.

In some examples, a method of calibrating the subwoofer configurationmay be similar to the method asking the user to identify a plurality ofvolume levels just (e.g., barely) audible, but includes playing a wideband noise while also playing the tone set to minimize the impact anyinherent noise in the room may affect the identified volume settings.

In some examples, an out of phase residual is used to identify the phasedifference and subwoofer level settings of the zone players in thepaired playback system (e.g., subwoofer 120 and zone players 116 and/or118). For example, the user is asked to adjust the phase via thecontroller user interface until the combined sound from the zone players116, 118 and 120 is just (e.g., barely) audible. In the illustratedexample, the zone players 116-120 play a series of tones at or near thecrossover frequency. The adjusted phase represents a phase difference atwhich the overlapping frequencies are destructively interfering and thesubwoofer 120 and zone players 116 and 118 are out of phase with eachother. At the chosen phase, the user is then prompted via the controlleruser interface to adjust the subwoofer level until the output sound fromthe zone players 116, 118 and 120 is just (e.g., barely) audible. Thisresidual subwoofer level identifies the inherent offset of the subwoofer120 relative to the zone players 116 and 118. By repeating these stepsat a plurality of frequencies at and around (e.g., above and/or below)the crossover frequency, the subwoofer 120 may identify the ideal phasedifference and subwoofer level settings of the zone players 116, 118 and120 and store the settings in the subwoofer configuration. In theillustrated example, the phase and/or subwoofer levels may be adjustedthrough soft buttons such as, for example, the soft buttons 1372-1384 inFIG. 13. Alternatively and/or additionally, the phase and/or subwooferlevels may be adjusted through a soft graphical element on thecontroller user interface which may continuously adjust the settings(e.g., a soft dial, a slider, etc.).

In some examples, a dial calibration may be used to calibrate thesubwoofer configuration of the subwoofer 120 in the paired playbacksystem. For example, a soft dial may be provided to the user to adjustthe subwoofer equalization settings. In the illustrated example, theuser may rotate a finger along the screen of the controller interface toadjust the sound output from zone players 116, 118 and 120. For example,the top of the soft dial may represent the subwoofer 120 in 0 degreephase and the bottom of the soft dial may represent the subwoofer 120 in180 degree phase relative to the zone players 116 and/or 118. In theillustrated example, as the user's finger rotates along the soft dial,the subwoofer level settings increase and then decrease and the userreceives a plurality of combinations of phase difference and subwooferlevel settings of the zone players in the paired playback system. Whenthe user reaches a preferred sound, the phase difference and subwooferlevel setting at that point are stored in the subwoofer configuration.In some examples, the crossover frequency may also be adjusted byrotating the soft dial. Alternate graphical elements to providecontinuous adjustment of the settings (e.g., phase difference, subwooferlevel, and/or the crossover frequency) may also be used such as, forexample, a soft slider.

A flowchart representative of example machine readable instructions forcalibrating subwoofer equalization settings (e.g., subwooferconfiguration) is shown in FIG. 14. In this example, the machinereadable instructions comprise a program for execution by a processorsuch as the processor 1512 shown in the example computer 1500 discussedbelow in connection with FIG. 15. The program may be embodied insoftware stored on a tangible computer readable medium such as a CD-ROM,a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-raydisk, or a memory associated with the processor 1512, but the entireprogram and/or parts thereof could alternatively be executed by a deviceother than the processor 1512 and/or embodied in firmware or dedicatedhardware. Further, although the example program is described withreference to the flowchart illustrated in FIG. 14, many other methods ofimplementing the example subwoofer configuration calibration may beused. For example, the order of execution of the blocks may be changed,and/or some of the blocks described may be changed, eliminated, orcombined.

The example program 1400 of FIG. 14 begins by initiating subwooferconfiguration setup (block 1410). In some examples, when a subwoofer 120is paired with a zone player (e.g., zone players 116 and/or 118) in alistening zone, the user may be prompted to begin calibrating thesubwoofer configurations. For example, when a new subwoofer 120 is addedto the listening zone or when a subwoofer 120 is paired with a newand/or different listening zone or zone player, the user may be promptedto begin calibration and/or other configuration. In some examples, auser may initiate subwoofer configuration by using the controllerinterface to navigate to a subwoofer settings screen. In some suchexamples, the user may choose to recalibrate the subwoofer configurationor may choose to manually adjust the equalization settings. For example,the user may turn off or otherwise deactivate the subwoofer.Alternatively and/or additionally, the user may select a differentand/or new speaker size paired to the subwoofer in the paired playbacksystem. Additionally, the user may adjust overall equalization settingsof the paired zone players (e.g., zone players 116-120) by increasing ordecreasing the bass on all playback devices in the paired playbacksystem.

In some examples, the subwoofer 120 includes a sensor module such as,for example, the example sensor module 220 of FIG. 2. In certainembodiments, the sensor module 220 of FIG. 2 includes an accelerometerto detect how the zone player 120, and in particular, how the speakerdriver(s) of the zone player 120 are oriented. For example, the audiocharacteristics of the zone player 120 may be different when the zoneplayer 120 is in a vertical mode than when in a horizontal mode. In someexamples, when the orientation of the speakers of the zone player 120 isdetected to have changed, the zone player 120 checks whether a storedsubwoofer configuration exists of the current orientation. When the zoneplayer 120 does not locate a stored subwoofer configuration of thecurrent orientation, in some examples, the zone player 120 prompts theuser via the controller user interface such as, for example, the examplecontroller user interface 800 of FIG. 8, to recalibrate the subwooferconfiguration.

In some examples, other types of sensors may be employed to detectposition and orientation of the zone player 120. For example, the sensormodule 220 of the example subwoofer 120 identifies that a subwoofer 120has been moved to a new location (e.g., within the listening zone, to anew listening zone). In some such examples, the subwoofer 120 may promptthe user via a controller user interface to recalibrate the subwooferconfiguration.

In the illustrated example of FIG. 14, when calibrating the subwooferconfiguration has been initiated (e.g., via a new subwoofer or zoneplayer pairing, by navigating to a subwoofer settings menu, by detectinga position/orientation change), the example program 1400 attempts toautomatically identify the crossover frequency of the zone players inthe paired playback system (block 1420). In some examples, the exampleprogram 1400 calculates a crossover frequency by identifying the pairedspeaker's size. In some examples, the example program 1400 may promptthe user to identify the speaker size (e.g., small, medium, large) ofthe zone player(s) bonded to the subwoofer and a crossover frequency iscalculated based on the speaker size. The identified crossover frequencyis stored in a subwoofer configuration.

In the illustrated example of FIG. 14, calibrating the subwooferequalization settings includes identifying a desired phase difference ofthe zone players in the paired playback system (block 1430). In someexamples, the desired phase difference between the example subwoofer 120relative to the paired zone players (e.g., zone players 116 and 118) isdetermined by prompting the user to identify a better (e.g., preferred)sounding tone set (e.g., test set A or test set B) via a controller userinterface such as the example controller user interface 800 of FIG. 8.For example, a series of tones at and around (e.g., above and/or below)the crossover frequency are output by the paired zone players (e.g.,zone players 116, 118 and 120) and alternates between a first test setand a second test set, wherein the subwoofer 120 alternates between 0degrees phase and in 180 degree phase relative to the zone players 116and 118. The user identifies whether the first tone set or the secondtone set sounds better (e.g., preferred) to the user. In the event theuser indicates no difference between the two tone sets (e.g., test set Aor test set B), in some examples, a default phase difference is set. Theidentified phase difference is stored in a subwoofer configuration.

In the illustrated example of FIG. 14, the subwoofer level is identifiedand stored in the subwoofer configuration (block 1440). In someexamples, the paired zone players (e.g., zone players 116, 118 and 120)output a series of tones, for example, at or around the crossoverfrequency. The user adjusts (e.g., increases and/or decreases) thesubwoofer level settings until a user-preferred sound of the pairedplayback system is reached. For example, a user may prefer more bass(e.g., low frequencies) while listening to an audio track and increasethe subwoofer level accordingly. The identified subwoofer level settingis then stored in the subwoofer configuration.

In the illustrated flow diagram of FIG. 14, once the subwooferequalization has been calibrated (e.g., crossover frequency, phasedifference and subwoofer level have been identified and saved), thesubwoofer configuration is saved (block 1450). In some examples, thesubwoofer configuration is a file stored on the subwoofer in the pairedplayback system such as, for example, the example subwoofer 120. When azone including the example subwoofer 120 such as, for example, the hometheater zone, is selected to playback an audio track, the examplesubwoofer 120 recalls the saved subwoofer configuration and adjusts thesubwoofer equalization settings accordingly.

In some examples, the subwoofer configuration is stored on the playbacksystem. For example, the subwoofer configuration may be stored on any ofthe zone players 102-124 accessible via the data network 128. Forexample, when the home theater zone (e.g., home theater listening zone)is selected to playback an audio track, the subwoofer configuration iscommunicated from a zone player on the data network 128, such as, forexample, zone player 110 of the Office zone, to the subwoofer 120 andthe subwoofer equalization settings are then adjusted to match therecalled subwoofer configuration.

In some examples, the subwoofer configuration includes the useridentity. For example, the controller 130 used to calibrate thesubwoofer 120 in the paired playback system is associated with aparticular user. Alternatively and/or additionally, the user may providea user identity before calibrating the subwoofer configuration (e.g.,via a passcode). In some such examples, the recalled subwooferconfiguration corresponds to the preferences of the user. For example,if a first user and a second user both have stored subwooferconfiguration preferences, then the recalled subwoofer configurationmatches the preferences of the user who selected playback on the pairedplayback system.

In some examples, the subwoofer configuration includes an audio trackgenre and may adjust the subwoofer equalization settings according tothe audio track genre. For example, a user may prefer two different basssettings depending on the type of audio track he is listening to at themoment. For example, the user may prefer more bass while listening to asong than while listening to a news talk program. In some such examples,the subwoofer configuration may automatically (e.g., without prompting)adjust the subwoofer settings to match the genre of the audio trackselected to playback. Additionally and/or alternatively, the subwooferconfigurations may calibrate to a new genre (e.g., a genre with no savedsubwoofer equalization settings in the subwoofer configuration) andprompt the user to accept or reject the updated subwoofer equalizationsettings via a controller user interface.

In some examples, the subwoofer configuration includes zone sceneinformation and may adjust the subwoofer equalization settingsaccordingly. For example, the example home theater listening zone andthe family listening zone may be included in a zone scene. In some suchexamples, subwoofer equalization settings may be stored in the subwooferconfiguration and recalled when the zone scene is recalled. For example,if the example home theater listening zone is selected for playback andthen a zone scene including the home theater listening zone is selectedto playback an audio track, the subwoofer configuration mayautomatically (e.g., without prompting) adjust the example subwoofer 120settings according to the zone scene settings.

While the methods and apparatus are described in conjunction with asingle subwoofer, the example methods and apparatus may also be usedwith any number of subwoofers without departing from the teachings ofthis patent. For example, any number of subwoofers (e.g., the examplesubwoofer 120) may be included in a paired playback system in alistening zone. In some such examples, subwoofer calibration may takeplace one subwoofer at a time, all of the subwoofers at the same time,or a combination of the above. For example, in a playback systemincluding two subwoofers, both subwoofers may be calibrated using toneset A and tone set B simultaneously. The gain scale (e.g., dBincrements) and the gain mid-point may adjust according to the playbackdevices included in the paired playback system. For example, eachadditional subwoofer may decrease the gain mid-point represented by the“0” on the example controller user interface 1000 of FIG. 10.

As mentioned above, the examples processes of FIGS. 12 and 14 may beimplemented using coded instructions (e.g., computer readableinstructions) stored on a tangible computer readable medium such as ahard disk drive, a flash memory, a read-only memory (ROM), a compactdisk (CD), a digital versatile disk (DVD), a cache, a random-accessmemory (RAM) and/or any other storage media in which information isstored for any duration (e.g., for extended time periods, permanently,brief instances, for temporarily buffering and/or for caching of theinformation). As used herein, the term tangible computer readable mediumis expressly defined to include any type of computer readable storageand to exclude propagating signals. Additionally or alternatively, theexample processes of FIGS. 12 and 14 may be implemented using codedinstructions (e.g., computer readable instructions) stored on anon-transitory computer readable medium such as a hard disk drive, aflash memory, a read-only memory, a compact disk, a digital versatiledisk, a cache, a random-access memory and/or any other storage media inwhich information is stored for any duration (e.g., for extended timeperiods, permanently, brief instances, for temporarily buffering and/orfor caching of the information). As used herein the term non-transitorycomputer readable medium is expressly defined to include any type ofcomputer readable medium and to exclude propagating signals. As usedherein, when the phrase “at least” is used as the transition term in apreamble of a claim, it is open-ended in the same manner as the term“comprising” is open-ended. Thus, a claim using “at least” as thetransition term in its preamble may include elements in addition tothose expressly recited in the claim.

FIG. 15 is a block diagram of an example computer 1500 capable ofexecuting the instructions of FIGS. 12 and 14. The computer 1500 can be,for example, a server, a personal computer, a mobile phone (e.g., a cellphone), a personal digital assistant (PDA), an Internet appliance, a DVDplayer, a CD player, a digital video recorder, a Blu-ray player, agaming console, a personal video recorder, a set top box, or any othertype of computing device.

The system 1500 of the instant example includes a processor 1512. Forexample, the processor 1512 can be implemented by one or moremicroprocessors or controllers from any desired family or manufacturer.

The processor 1512 includes a local memory 1513 (e.g., a cache) and isin communication with a main memory including a volatile memory 1514 anda non-volatile memory 1516 via a bus 1518. The volatile memory 1514 maybe implemented by Synchronous Dynamic Random Access Memory (SDRAM),Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory(RDRAM) and/or any other type of random access memory device. Thenon-volatile memory 1516 may be implemented by flash memory and/or anyother desired type of memory device. Access to the main memory 1514,1516 is controlled by a memory controller.

The computer 1500 also includes an interface circuit 1520. The interfacecircuit 1520 may be implemented by any type of interface standard, suchas an Ethernet interface, a universal serial bus (USB), and/or a PCIexpress interface.

One or more input devices 1522 are connected to the interface circuit1520. The input device(s) 1522 permit a user to enter data and commandsinto the processor 1512. The input device(s) can be implemented by, forexample, a keyboard, a mouse, a touchscreen, a track-pad, a trackball,isopoint and/or a voice recognition system.

One or more output devices 1524 are also connected to the interfacecircuit 1520. The output devices 1524 can be implemented, for example,by display devices (e.g., a liquid crystal display, a cathode ray tubedisplay (CRT), a printer and/or speakers). The interface circuit 1520,thus, typically includes a graphics driver card.

The interface circuit 1520 also includes a communication device such asa modem or network interface card to facilitate exchange of data withexternal computers via a network 1526 (e.g., an Ethernet connection, adigital subscriber line (DSL), a telephone line, coaxial cable, acellular telephone system, etc.).

The computer 1500 also includes one or more mass storage devices 1528for storing software and data. Examples of such mass storage devices1528 include floppy disk drives, hard drive disks, compact disk drivesand digital versatile disk (DVD) drives. The mass storage device 1528may implement the local storage device.

The coded instructions 1532 of FIGS. 12 and 14 may be stored in the massstorage device 1528, in the volatile memory 1514, in the non-volatilememory 1516, and/or on a removable storage medium such as a CD or DVD.

From the foregoing, it will be appreciated that the above disclosedmethods, apparatus and articles of manufacture enable improved subwooferequalization by prompting the music listener to identify a plurality ofuser-preferred tones rather than adjusting the subwoofer equalizationsettings manually. The subwoofer outputs a series of tones based on theidentified audio characteristics of the paired playback system andadjusts the subwoofer configuration according to a selection of auser-preferred tone. Additionally, the subwoofer equalization settingsare able to automatically adjust based on the user preferences of theuser selecting playback and/or the genre of the audio track selected toplayback.

Although certain example methods, apparatus and articles of manufacturehave been described herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus and articles of manufacture fairly falling within the scope ofthe claims of this patent.

We claim:
 1. A system comprising: a first subwoofer; at least one playback device; at least one processor; at least one non-transitory computer-readable medium; and program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the system is configured to: determine a respective first crossover frequency of each of the first subwoofer and the at least one playback device that are part of a synchrony group and configured to output multimedia content in synchrony; receive an instruction for a second subwoofer to join the synchrony group such that the second subwoofer is configured to output multimedia content in synchrony with the first subwoofer and the at least one playback device; based on the instruction, cause the second subwoofer to join the synchrony group that includes the at least one playback device and the first subwoofer such that the second subwoofer is configured to output multimedia content in synchrony with the first subwoofer and the at least one playback device; based on causing the second subwoofer to join the synchrony group: determine (i) a second crossover frequency of the at least one playback device and (ii) a first crossover frequency of the second subwoofer; and cause one or more configuration settings of at least the first subwoofer to be updated, wherein the one or more configuration settings includes a gain scale setting; and cause a computing device to display a visualization of the synchrony group that includes the first subwoofer, the at least one playback device, and the second subwoofer.
 2. The system of claim 1, wherein the program instructions that are executable by the at least one processor such that the system is configured to cause the one or more configuration settings of at least the first subwoofer to be updated comprise program instructions that are executable by the at least one processor such that the system is configured to cause dB increments on the gain scale of at least the first subwoofer to be updated.
 3. The system of claim 1, wherein the program instructions that are executable by the at least one processor such that the system is configured to cause the one or more configuration settings of at least the first subwoofer to be updated comprise program instructions that are executable by the at least one processor such that the system is configured to cause a gain midpoint on the gain scale of at least the first subwoofer to be updated.
 4. The system of claim 1, wherein the respective first crossover frequency of the first subwoofer matches the respective first crossover frequency of the at least one playback device.
 5. The system of claim 1, wherein the program instructions that are executable by the at least one processor such that the system is configured to cause the one or more configuration settings of the first subwoofer to be updated comprise program instructions that are executable by the at least one processor such that the system is configured to: transmit a set of configuration settings to the first subwoofer; and cause the first subwoofer to adjust the one or more configuration settings of the first subwoofer based on the transmitted set of configuration settings.
 6. The system of claim 5, wherein the set of configuration settings is stored at the at least one playback device, and wherein the program instructions that are executable by the at least one processor such that the system is configured to transmit the set of configuration settings to the first subwoofer comprise program instructions that are executable by the at least one processor such that the at least one playback device is configured to: transmit the set of configuration settings to the first subwoofer.
 7. The system of claim 1, wherein the program instructions that are executable by the at least one processor such that the system is configured to cause the one or more configuration settings of the first subwoofer to be updated comprise program instructions that are executable by the at least one processor such that the system is configured to: cause the one or more configuration settings of the first subwoofer to be updated based on an acoustic characteristic of the synchrony group.
 8. The system of claim 1, further comprising program instructions that are executable by the at least one processor such that the system is configured to: detect that the second subwoofer has joined the synchrony group such that the second subwoofer is configured to output multimedia content in synchrony with the at least one playback device and the first subwoofer; and based on the detecting, cause a respective gain scale setting of the second subwoofer to be updated.
 9. The system of claim 8, wherein the set of configuration settings is stored at the first subwoofer, and wherein the program instructions that are executable by the at least one processor such that the system is configured to cause the respective gain scale setting of the second subwoofer to be updated comprise program instructions that are executable by the at least one processor such that the first subwoofer is configured to: transmit a set of configuration settings to the second subwoofer, wherein the set of configuration settings includes the gain scale setting; and cause the second subwoofer to adjust one or more configuration settings of the second subwoofer based on the transmitted set of configuration settings.
 10. The system of claim 8, wherein the program instructions that are executable by the at least one processor such that the system is configured to cause the respective gain scale setting of the second subwoofer to be updated comprise program instructions that are executable by the at least one processor such that the second subwoofer is configured to: detect that the synchrony group includes the first subwoofer; and based on the detecting, update the respective gain scale setting of the second subwoofer.
 11. The system of claim 1, further comprising program instructions that are executable by the at least one processor such that the system is configured to: while the second subwoofer is outputting multimedia content in synchrony with the at least one playback device and the first subwoofer: receive, by the computing device, an indication of a user request to modify a gain scale setting of the second subwoofer; cause the gain scale setting of the second subwoofer to be updated based on the updated gain scale setting; and cause the computing device to display an indication that the gain scale setting has been updated based on the user request.
 12. At least one non-transitory computer-readable medium, wherein the at least one non-transitory computer-readable medium is provisioned with program instructions that, when executed by at least one processor, cause a system to: determine a respective first crossover frequency of each of a first subwoofer and at least one playback device that are part of a synchrony group and configured to output multimedia content in synchrony; receive an instruction for a second subwoofer to join the synchrony group such that the second subwoofer is configured to output multimedia content in synchrony with the first subwoofer and the at least one playback device; based on the instruction, cause the second subwoofer to join the synchrony group that includes the at least one playback device and the first subwoofer such that the second subwoofer is configured to output multimedia content in synchrony with the first subwoofer and the at least one playback device; based on causing the second subwoofer to join the synchrony group: determine (i) a second crossover frequency of the at least one playback device and (ii) a first crossover frequency of the second subwoofer; and cause one or more configuration settings of at least the first subwoofer to be updated, wherein the one or more configuration settings includes a gain scale setting; and cause a computing device to display a visualization of the synchrony group that includes the first subwoofer, the at least one playback device, and the second subwoofer.
 13. The at least one non-transitory computer-readable medium of claim 12, wherein the program instructions that, when executed by at least one processor, cause the system to cause one or more configuration settings of at least the first subwoofer to be updated comprise program instructions that, when executed by at least one processor, cause the system to cause dB increments on the gain scale of at least the first subwoofer to be updated.
 14. The at least one non-transitory computer-readable medium of claim 12, wherein the program instructions that, when executed by at least one processor, cause the system to cause one or more configuration settings of at least the first subwoofer to be updated comprise program instructions that, when executed by at least one processor, cause the system to cause a gain midpoint on the gain scale of at least the first subwoofer to be updated.
 15. The at least one non-transitory computer-readable medium of claim 12, wherein the respective first crossover frequency of the first subwoofer matches the respective first crossover frequency of the at least one playback device.
 16. The at least one non-transitory computer-readable medium of claim 12, wherein the program instructions that, when executed by at least one processor, cause the system to cause the one or more configuration settings of at least the first subwoofer to be updated comprise program instructions that, when executed by at least one processor, cause the system to: transmit a set of configuration settings to the first subwoofer; and cause the first subwoofer to adjust the one or more configuration settings of the first subwoofer based on the transmitted set of configuration settings.
 17. The at least one non-transitory computer-readable medium of claim 16, wherein the set of configuration settings is stored at the at least one playback device, and wherein the program instructions that, when executed by at least one processor, cause the system to transmit the set of configuration settings to the first subwoofer comprise program instructions that, when executed by at least one processor, cause the at least one playback device to: transmit the set of configuration settings to the first subwoofer.
 18. The at least one non-transitory computer-readable medium of claim 16, wherein the at least one non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the system to: detect that the second subwoofer has joined the synchrony group such that the second subwoofer is configured to output multimedia content in synchrony with the at least one playback device and the first subwoofer; and based on the detecting, cause a respective gain scale setting of the second subwoofer to be updated.
 19. The at least one non-transitory computer-readable medium of claim 18, wherein the program instructions that, when executed by at least one processor, cause the system to cause the respective gain scale setting of the second subwoofer to be updated comprise program instructions that, when executed by at least one processor, cause the first subwoofer to: transmit a set of configuration settings to the second subwoofer, wherein the set of configuration settings includes the gain scale setting; and cause the second subwoofer to adjust one or more configuration settings of the second subwoofer based on the transmitted set of configuration settings.
 20. A method carried out by a system, the method comprising: determining a respective first crossover frequency of each of a first subwoofer and at least one playback device that are part of a synchrony group and configured to output multimedia content in synchrony; receiving an instruction for a second subwoofer to join the synchrony group such that the second subwoofer is configured to output multimedia content in synchrony with the first subwoofer and the at least one playback device; based on the instruction, causing the second subwoofer to join the synchrony group that includes the at least one playback device and the first subwoofer such that the second subwoofer is configured to output multimedia content in synchrony with the first subwoofer and the at least one playback device; based on causing the second subwoofer to join the synchrony group: determining (i) a second crossover frequency of the at least one playback device and (ii) a first crossover frequency of the second subwoofer; and causing one or more configuration settings of at least the first subwoofer to be updated, wherein the one or more configuration settings includes a gain scale setting; and causing a computing device to display a visualization of the synchrony group that includes the first subwoofer, the at least one playback device, and the second subwoofer. 